<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <title>2.天气案例_监视属性</title>
        <!-- 引入Vue -->
        <script type="text/javascript" src="../../js/vue.js"></script>
        <style>
            img {
                width: 100px;
            }
        </style>
    </head>
    <body>
        <!-- 准备好一个容器-->
        <div id="demo">
            <h1>今天天气很{{text}}</h1>
            <img :src="url"> <br>
            <button @click="changeWeather">切换天气</button>
        </div>

        <script type="text/javascript">
            //阻止 vue 在启动时生成生产提示。
            Vue.config.productionTip = false 
            
            new Vue({
                el:'#demo',
                data:{
                    isHot:true,
                    url:'http://49.232.112.44/images/hot.jpg'
                },
                computed:{
                    text(){
                        return this.isHot ? '炎热' :'凉爽'
                    }
                },
                methods:{
                    changeWeather(){
                        this.isHot = !this.isHot
                    },
                },
                watch:{
                    isHot:{
                        // 具体的监视规则
                        // handler何时调用？ —— 当isHot被修改时
                        // handler中的this是谁？ —— vm
                        handler(newValue,oldValue){
                            console.log('isHot的值变了',newValue,oldValue)
                            if(newValue){
                                this.url = 'http://49.232.112.44/images/hot.jpg'
                            }else{
                                this.url = 'http://49.232.112.44/images/cool.jpg'
                            }
                        }
                    }
                }
            })
        </script>
    </body>
</html>